[Test] Extend local soak baseline to SSE streaming responses - #3447
[Test] Extend local soak baseline to SSE streaming responses#3447xuuuge wants to merge 8 commits into
Conversation
Signed-off-by: xuuuge <xuuuge@users.noreply.github.com>
✅ Deploy Preview for vllm-semantic-router ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
Signed-off-by: xuuuge <xuuuge@users.noreply.github.com>
Signed-off-by: xuuuge <xuuuge@users.noreply.github.com>
FAUST-BENCHOU
left a comment
There was a problem hiding this comment.
One thing to consider is avoiding buffering the entire upstream SSE response before forwarding.
Currently response.read() consumes the full stream before send_sse() starts writing chunks, which means the proxy does not preserve the upstream first-frame latency and inter-frame timing. Forwarding frames as they arrive would make the soak test closer to a real streaming path.
Xunzhuo
left a comment
There was a problem hiding this comment.
The streaming fixture and synthetic merge look clean, but exact-head CI currently covers only lint/build: neither make soak-test nor pytest bench/test_openai_fault_proxy.py is executed. Please add exact-head CI evidence for both behavior paths before approval.
Avoid consuming the upstream stream before forwarding its first event. Keep optional frame shaping incremental and preserve terminal and usage events. Add gated-upstream regression coverage and run both soak and fault-proxy behavior suites on the exact PR head in core quality CI. Signed-off-by: xuuuge <xuuuge@users.noreply.github.com>
|
@FAUST-BENCHOU @Xunzhuo addressed both review comments in 632410e.
Local validation passed: The CI run for this exact head has been triggered but is currently queued before the initial change-classification job. Hosted behavior-test evidence is therefore still pending; the local passes above are not a claim that CI has completed. |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #3447 +/- ##
==========================================
- Coverage 33.93% 33.54% -0.39%
==========================================
Files 20 20
Lines 2959 2942 -17
==========================================
- Hits 1004 987 -17
Misses 1849 1849
Partials 106 106
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
Xunzhuo
left a comment
There was a problem hiding this comment.
Thanks—the exact-head soak job now covers both behavior paths, and the proxy forwards each SSE event before the upstream can continue while preserving terminal and usage events. I do not see a remaining code blocker; please update onto current main and let the required checks finish for the approval pass.
Signed-off-by: xuuuge <xuuuge@users.noreply.github.com>
The anthropic-shim PR lane failed before executing tests because the model-downloader init container exceeded its 512Mi limit and was OOMKilled. Raise the download memory request to 512Mi and limit to 2Gi, keeping the change scoped to the setup container. Signed-off-by: xuuuge <xuuuge@users.noreply.github.com>
|
@Xunzhuo @FAUST-BENCHOU updated the PR onto current The previous exact-head soak job passed both behavior suites. The remaining PR-gate failure came from Anthropic-shim setup: its Local validation after updating main passed: GitHub did not permit this account to formally re-request reviews through the API, so I am requesting the approval pass here. |
Signed-off-by: xuanyangge <xuanyangge@gmail.com>
Closes #3340
Purpose
Extend the existing local soak harness with a launch-selectable SSE response mode while preserving the buffered baseline.
stream: trueand consume the full event streamSTREAMEDresponse path for the response lifetimeresponse-mode: streamingin JSON, benchstat, and run-environment artifactsext_authzfilter when deriving the local soak configTest Plan
make agent-ci-gate ENV=cpu AGENT_BASE_REF=origin/mainmake soak-testpython -m pytest bench/test_openai_fault_proxy.py -qmake build-routerin a clean temporary worktree whose path has no spacesmake soak-local SOAK_STREAMING=1 SOAK_ARGS=-quickTest Result
agent-ci-gate, including ShellCheck, Black, Ruff, markdown lint, supply-chain scan, Go structural lint, architecture checks,build-e2e, 116 workflow/CI tests, and 29 agent-harness testsmake soak-test(build, vet, and Go soak unit tests)[DONE]streaming: true, zero scrape errors, complete JSON/heap/timeseries/bench artifacts, and 5,715/5,787 measured requests succeeded (98.76%).Semantic Router PR Checklist
wg/data-plane-networkingownergit commit -s